BBXPROGRESSION/4«
BBXPROGRESSION/4 provides business software developers with all the tools they need to develop sophisticated business applications. While remaining true to the traditional Business BASIC goals of quick application development and easy program modification, BBXPROGRESSION/4 delivers substantial enhancements. Developers who select BBX as their development language can produce more applications, faster, and earn higher profits.
BBXPROGRESSION/4 is available on a wide variety of single and multi-user operating systems. Programs and data files created with BBX on one operating system can be moved to another without modification. This allows developers to supply their software to users on a broad range of hardware solutions. Users are then free to select the hardware which best suits their financial needs and technical requirements.
Worldwide Acceptance
Approaching one million installations worldwide, BBX is the world standard for Business BASIC. Thousands of BBX developed business packages are available covering applications which range from Accounts Payable to Vehicle Maintenance.
Unrestricted portability combined with worldwide acceptance means developers and users have options. They are free to choose software and hardware which best solves their unique problems.
Interactive Environment
As an interactive tokenized interpreter, BBX is easy to learn and makes coding and debugging rapid and straightforward. The interpretive BBX environment and editing facilities allow developers to interrupt an executing program, including public or called programs, examine the state of the program, edit the code, modify variables, and resume execution from the point of interruption. This capability can greatly facilitate over-the-phone real-time customer support.
High Performance
BBX delivers high performance on three levels. First, because BBX is an interactive interpreter, initial program development and continued program support take less time. Second, BBX programs exist in a semi-compiled tokenized format that allows faster execution than a pure interpreter. And third, many of BBX's features, like the SELECT verb, perform entire operations which would require significantly more code in other languages. In addition, BBXPROGRESSION/4 delivers considerable performance improvements over its predecessors.
Powerful Data Files
All business applications require an efficient system for filing and recalling business information. BBXPROGRESSION/4 supports a multi-keyed file structure with the ability to define up to 16 keys comprised of up to 48 data segments. File sizes are limited only by the size of your disk and individual records can be up to 32K bytes in size. A record descriptor or template makes demanding data dictionary applications easy. Traditional character, record-offset, and directory interface files are also available, and on selected platforms BBX offers support for POSIX compliant C-ISAM files. In addition BBX offers key searches; table translation of data; time outs; and file, record, and advisory locking which are needed for serious database
management.
Portability
Portability is the foundation of BBX's success. BBXPROGRESSION/4 provides absolute portability of programs and data across all contemporary operating environments, including MS/PC/DR-DOS and more than 20 UNIX platforms. Some of the UNIX environments are SCO UNIX, SCO XENIX, AIX, HP-UX, and Solaris. UNIX local and wide area networks as well as MS/PC/DR-DOS networks and Novell NetWare are also supported. BBX includes the conversion routines needed to migrate applications and data files that were originally developed for other Business BASIC systems to BBX. Developers can deliver their applications on a wide variety of computers while maintaining only one version of source code.
Client/Server Technology
Building on portable data files, BBX also provides automatic client support for most UNIX versions of BBX when coupled with the BBXPROGRESSION/4 Data Server. This powerful client/server technology allows multiple machines to transparently share data across TCP/IP networks yielding significantly faster performance than through NFS. DOS and Novell platforms can also be configured with client/server capabilities with DOS client versions of BBX combined with the BBXPROGRESSION/4 Data Server for Novell.
Multi-User
BASIS designed BBX specifically for multi-user systems such as UNIX and MS-DOS networks. All the critical multi-user features like record and file locking were included in the original design not added as an after-thought. BBXPROGRESSION/4 is available in any configuration from one user to unlimited users.
Device Independent I/O
BBX offers sophisticated, yet portable, control of terminals, printers, and plotters that make your applications attractive to the user. BBX provides screen handling such as windows, color, and character attributes. Printer features include underlining, forms tabbing, and spooling. Graphics are implemented (on applicable devices) using world coordinate geometry, and are easily accessible through BBX mnemonics. BBX windows mnemonics include the ability to define windows larger than the screen for scrolling large reports.
String Handling
One of BBX's most powerful features is its ability to manipulate dynamic strings of unlimited length. Strings are concatenated, sub-divided, and searched easily and quickly. In addition, strings can be sorted in memory by user-defined increments. Bit level operations are also supported.
String Templates
The powerful string handling capabilities of BBX include string templates. String templates are a record descriptor mechanism that allows a single string to be composed of several fields. With BBXPROGRESSION/4's provision for character and numeric string, signed and unsigned integer, IEEE floating point, BCD floating point, BBX Business Math, 4 byte float, and 8 byte float field types, a record descriptor for any data type can be accurately described.
Business Math
BBX solves the problem of rounding by providing 14 digit precision with accurate representations of decimal fractions. Dollar rounding (two decimal places) always delivers dependable numbers which are needed for accounting integrity. Precision and rounding can be programmer specified and a floating point mode is also available. Trigonometric functions assist in the creation of business graphics.
Powerful Array Support
BBXPROGRESSION/4 provides both numeric and string arrays of up to 3-dimensions. Arrays are dynamic and can be defined and redefined as the application dictates. Array input/output facilitates the reading and writing of data tables to files. Matrix arithmetic for numeric arrays is supported.
Program Constructs
BBX provides a powerful set of program constructs:
- Compound statements
- IF-THEN-ELSE-FI
- Call to external programs
- Variables and function names up to 32 characters
- Line labels
- Line numbers to 65534
- DATA statements
- FOR/NEXT
- WHILE/WEND
- REPEAT/UNTIL
- EXTENDED FUNCTIONALITY
Global strings, independent of the workspace, promote well thought-out public programs and program overlays. The SELECT verb is a powerful tool for the selection and sorting of records based on programmer supplied parameters. A MASK() function provides a regular expression syntax checker. For date-sensitive applications a Julian date function, JUL(), and standard DATE() function are included.
Data Verification and Error Handling
Interactive applications require sophisticated error handling. BBXPROGRESSION/4 offers error handling at the function, statement, and program levels. Additional functions make it easy to create generic error traps. Built-in input verification makes it easy to design user-proof applications.
System Calls
System calls allow the invocation of an executable file from within BBXPROGRESSION/4. After execution, BBX is restored to its previous condition. The pipe function can read and/or write data within a UNIX environment, thus creating a convenient way to communicate directly with another process.
Program Encryption
Sensitive code can be protected with the SAVEP command. This command uses a complex algorithm to encrypt the program. The encryption precludes listing of the program while permitting editing and updates.
BBXPROGRESSION/4 Enhancements
BBXPROGRESSION/4 technology has been enhanced to afford substantially increased performance over previous BBXPROGRESSION products in the range of 10% to 40% depending upon application design. This is due to a completely re-written workspace manager, improved math capability, and the ability to use a math coprocessor. In addition, BBXPROGRESSION/4 delivers a number of useful enhancements over its predecessors.
Workspace Management
Internal changes in workspace management deliver improved performance in a very dynamic workspace (a workspace where the length of strings is constantly changing).
BEGIN and CLEAR now have an EXCEPT option to exclude variables from being reset.
Data workspace can now be separated from the program workspace, making large programs and large data sets possible even on MS-DOS and 286 XENIX environments. MS-DOS and 286 XENIX, however, are still limited to 64K or less in each segment. MS-DOS users can use LIM 4.0 expanded memory to store public programs. This allows more headroom for the MS-DOS user, which is particularly helpful for network users. It also allows for better application performance since public programs can be made memory resident. With additional memory available for public programs, more complex applications can be run in the MS-DOS environment.
New Verbs/Functions
Two verbs, BACKGROUND and SELECT, have been added to take advantage of multi-tasking. BACKGROUND allows a task, such as a report or an update process which no longer require operator input, to proceed in background. SELECT is performed in a background process, allowing a BBXPROGRESSION/4 program to perform other functions while the SELECT operation is proceeding.
The INITFILE verb re-initializes a file without the use of the FID() and FIN() functions. INPUTN allows calculator style input of numeric values with locally defined input rules.
REPEAT/UNTIL looping expands the programmer's looping options.
New functions include string sorting SSORT(), MKEYED key generation KGEN(), numeric rounding ROUND(), and a used channel function CHN( ).
User-defined functions have been expanded to allow multiple lines.
File System
BBXPROGRESSION/4 allows for linking a POSIX compliant C-ISAM file
driver on the host system into the BBX file system, permitting
virtually transparent access and creation of POSIX compliant
C-ISAM files.
The number of allowed key segments in an MKEYED file increases from 16 to 48 and the key size grows from 64 to 120. In addition, keys can be defined from data that resides in the first 1024 bytes of the record, as opposed to the first 512 in earlier versions. The maximum number of keys is 16.
READ/FIND accepts a DIR=int option to move the record pointer the specified number of records following a successful operation. The specified number may range in value from -32767. . . 32767, where negative values represent backward movement in the file and positive values forward movement.
Math
Math performance is improved, particularly the multiply and divide functions. This improves the performance of all multiply and divide operations as well as the mathematical functions such as, SIN(), COS(), LOG(), etc. Support for math coprocessors has been added and is controlled through the use of SETOPTS.
Program Editing
Public programs can now be interrupted during execution for editing and modification. In addition, a RUN from a public program replaces the public program with an overlay.
The EDIT verb generates an !ERROR=27 prior to the edit when an attempt is made to edit a line which contains a return or retry address.
If a syntax error occurs in the screen edit, BBXPROGRESSION/4 attempts to place the cursor near the error point.
Graphical User Interfaces
The new BBXPROGRESSION/4 for the Windows operating system allows existing portable BBX software to run with no modification. Additionally, many new features, such as widow resizing, color remapping, native printer and clipboard support, and the ability to edit programs with a pointing device, are instantly available. BBX programs that currently use menus can be easily activated so that a pointing device may be used to make selections. Pointing device movements can also be tracked in real-time. Additionally, the user can be prompted for a response with a standard Windows-style dialogue box.
General
Two new field types (local binary floating point and business floating point) have been added to string templates.
String masking (using STR() and : ) and INPUTE have additional string masking characters to allow either numeric or alphabetic characters.
The STBL() function now returns a list of the names in the STBL data set using STBL("LIST ").
Global strings can now be set in the config.bbx file.
New terminal mnemonics have been added supporting cursor movement: 'RT' for move cursor right, 'LT' for move cursor left, 'UP' for move cursor up, and 'DN' for move cursor down.
Several new options have been added to SETOPTS:
- Bit enabling editing in public programs.
- Bits for listing verbs and functions in lower case.
- Bit enabling coprocessor use.
- Bit disabling HSH() check of programs as they are loaded.
- Bit disabling OPENs of files that BBX detects were not closed properly.
- Bit enabling replacement of numeric mask "," and "." characters in PRINTs and CVS() functions.
Copyright BASIS International Ltd. All rights reserved.
Comments and questions: webmaster@basis.com |